package com.gm.wj.controller;

import com.gm.wj.result.Result;
import com.gm.wj.result.ResultFactory;
import com.gm.wj.service.*;
import com.gm.wj.util.SysLoging;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * @program: wj
 * @description: 数据统计分析
 * @author: Huang_shengjun
 * @create: 2020-12-11 10:08
 **/
@Slf4j
@RestController
@Api(tags = "数据统计分析管理相关接口")
public class SysDataAnalysisController {

    @Autowired
    UserService userService;
    @Autowired
    SysMessageService sysMessageService;
    @Autowired
    SysStudentService sysStudentService;
    @Autowired
    SysLogService sysLogService;
    @Autowired
    SysOrderFlowService sysOrderFlowService;
    @Autowired
    PtService ptService;

    @GetMapping("/api/admin/findDataAnalysisFirst")
    @SysLoging("查询数据统计分析数量信息")
    @ApiOperation("查询数据统计分析数量信息的接口")
    public Result findDataAnalysisFirst() {
        Map<String, Integer> map1;
        // 消息发送数量
        map1 = sysMessageService.findMessageData();
        // 注册用户数量
        map1.put("UserData",userService.findUserData());
        // 学生数量
        map1.put("StudentData",sysStudentService.findStudentData());
        // 操作日志数量
        map1.put("LogData",sysLogService.findLogData());
        // 收入类型图拼团成功数量
        map1.put("PtData",sysOrderFlowService.findAllByPtStatus());
        // 收入类型图单买成功数量
        map1.put("DmData",sysOrderFlowService.findAllBydmStatus());
        // 收入类型图现金成功数量
        map1.put("XjData",sysOrderFlowService.findAllByxj());
        return ResultFactory.buildSuccessResult("查询成功",map1);
    }

    @GetMapping("/api/admin/findDataAnalysisTwo")
    @SysLoging("查询数据统计分析数量信息")
    @ApiOperation("查询数据统计分析数量信息的接口")
    public Result findFlowByBuy() {
        // 课程售出数量折线图
        return ResultFactory.buildSuccessResult("查询成功",sysOrderFlowService.findFlowByBuy());
    }

    @GetMapping("/api/admin/findDataAnalysisThree")
    @SysLoging("查询数据统计分析数量信息")
    @ApiOperation("查询数据统计分析数量信息的接口")
    public Result findDataAnalysisThree() {
        // 收入折线图
        return ResultFactory.buildSuccessResult("查询成功",sysOrderFlowService.findFlowByMoney());
    }

}
